

#ifndef xplugin_rtc_debug_hpp
#define xplugin_rtc_debug_hpp

#include <stdio.h>
#include "xrtc_endpoint.h"

enum rtc_debug_data_type{
    TLV_RTC_RECV_CLEAR = RTC_RECV_CLEAR,
    TLV_TYPE_SRTP_KEY,
    TLV_TYPE_MAX
};


int xplugin_rtc_debug_init(int argc, char **argv);
void xplugin_rtc_debug_exit();
int xplugin_rtc_debug_rtc(GMainContext * main_context, rtc_endpoint_t rtc, const char* debug_mode);



typedef void (* xplugin_rtc_on_destroy_t)(void * context);
typedef void (* xplugin_rtc_on_new_rtc_t)(void * context, rtc_endpoint_t rtc);

typedef struct xplugin_rtc_ops{
    void * context;
    xplugin_rtc_on_destroy_t on_destroy;
    xplugin_rtc_on_new_rtc_t on_new_rtc;
}xplugin_rtc_ops;

xplugin_rtc_ops * xplugin_rtc_switcher_instance();

int auto_record_rtc(rtc_endpoint_t rtc, const char * record_path);

#endif /* xplugin_rtc_debug_hpp */
